<?php 
//最基本的工厂类
class MyObject{
	public function __construct(){}

		public function test(){
			return 'this is test';
		}
}

class MyFactory{
	//返回对象的实例
	public static function factory()
	{
		return new MyObject();
	}
}
//调用工厂类MyFactory中的静态方法，获取类MyObject的实例
$myobject=MyFactory::factory();
//echo $myobject->test();

/**上面代码和下面代码无关
 *简单工厂模式与工厂方法模式比较
 *简单工厂又叫静态工厂方法模式，这样理解可以确定，简单工厂模式是通过一个静态方法创建对象
 */
interface people{
	function jiehun();
}

class man implements people{
	function jiehun(){
		echo '送玫瑰，送戒指<br />';
	}
}

class women implements people{
	function jiehun(){
		echo '穿婚纱<br />';
	}
}

class SimpleFactoty{
	//简单工厂里的静态方法
	static function createMan(){
		return new man;
	}
	static function createWomen(){
		return new women;
	}
}

SimpleFactoty::createMan()->jiehun();
SimpleFactoty::createWomen()->jiehun();

